package com.wut.clock.mongo.repository;

import com.wut.clock.mongo.dto.HistoryParams;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;

/**
 * @author ZYH
 * @unit D9Lab
 * @description 浏览记录repository
 * @date 2022/6/11 17:16
 */
public interface HistoryRepository extends MongoRepository<HistoryParams,String> {

    /**
     * 浏览历史
     * @param userId 用户id
     * @param articleId 文章id
     * @return HistoryParams
     */
    HistoryParams findByUserIdAndArticleId(Integer userId,Integer articleId);

    /**
     * 查询某人的浏览历史记录
     * @param userId 用户id
     * @param pageable 分页
     * @return 历史记录
     */
    Page<HistoryParams> findByUserIdOrderByCreateTimeDesc(Integer userId, Pageable pageable);

    /**
     * 删除某一条历史记录
     * @param userId 用户id
     * @param articleId 文章id
     * @return int >0 删除成功
     */
    int deleteByUserIdAndArticleId(Integer userId,Integer articleId);

    /**
     * 清空历史记录
     * @param userId 用户id
     */
    void deleteAllByUserId(Integer userId);


}
